CS 361 Spring 2013 Final Exam Study Questions 1. Describe (a) the structure of a two-level page table, (b) how a virtual address is translated into a physical address using such a table, (c) a major advantage of using a two-level page table over a single-level page table. 2. Explain how the fork() system call is implemented using copy-on-write. Is copy-on-write always more efficient (lower total overhead) than performing a simple copy? Explain why or give an example that shows why not. 3. Describe in detail an algorithm that implements LRU page replacement. Why would we use an LRU approximation algorithm instead? 4. What is a process' Working Set of memory pages? What is virtual memory thrashing? Describe one scenario in which thrashing can be expected. 5. How are memory mapped files implemented? What causes a difference in the performance characteristics of memory mapped files vs. file accessed via the read() and write() system calls?